package com.bluegalaxy.nhb.snservice.domain.vo.api.ck;

import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

@ApiModel(value = "漏斗分析对象", description = "漏斗分析对象")
public class FunnelParamVO implements Serializable {

    @ApiModelProperty(value = "漏斗ID")
    private  String funnelId;
    @ApiModelProperty(value = "漏斗事件集合")
    private  List<String> funnelEvents;
    private  List<EventInfo> funnelEventList;

    //开始时间
    @ApiModelProperty(value = "开始时间")
    private  String startDate;
    //结束时间
    @ApiModelProperty(value = "结束时间")
    private  String endDate;

    @ApiModelProperty(value = "窗口数")
    private Integer windowFunnel;
    @ApiModelProperty(value = "窗口单位，默认是天")
    private String windowFunnelUnit;

    //日期集合
    @ApiModelProperty(value = "日期集合")
    private List<String> dateList;
    //条件集合
    @ApiModelProperty(value = "条件集合")
    private List<Map<String,Object>> conditionList;
    //条件sql
    @ApiModelProperty(value = "条件sql")
    private String conditionSql;

    @ApiModelProperty(value = "查询日期 用于查看用户列表和添加用户分群")
    private String queryDate;
    @ApiModelProperty(value = "查询序号 用于查看用户列表和添加用户分群")
    private String queryNum;
    //应用集合
    private List<String> applicationCodeList;

    //原始参数
    private JSONObject jsonParam;

    public String getFunnelId() {
        return funnelId;
    }

    public void setFunnelId(String funnelId) {
        this.funnelId = funnelId;
    }

    public List<String> getFunnelEvents() {
        return funnelEvents;
    }

    public void setFunnelEvents(List<String> funnelEvents) {
        this.funnelEvents = funnelEvents;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public Integer getWindowFunnel() {
        return windowFunnel;
    }

    public void setWindowFunnel(Integer windowFunnel) {
        this.windowFunnel = windowFunnel;
    }

    public String getWindowFunnelUnit() {
        return windowFunnelUnit;
    }

    public void setWindowFunnelUnit(String windowFunnelUnit) {
        this.windowFunnelUnit = windowFunnelUnit;
    }

    public List<String> getDateList() {
        return dateList;
    }

    public void setDateList(List<String> dateList) {
        this.dateList = dateList;
    }

    public List<Map<String, Object>> getConditionList() {
        return conditionList;
    }

    public void setConditionList(List<Map<String, Object>> conditionList) {
        this.conditionList = conditionList;
    }

    public String getConditionSql() {
        return conditionSql;
    }

    public void setConditionSql(String conditionSql) {
        this.conditionSql = conditionSql;
    }

    public List<EventInfo> getFunnelEventList() {
        return funnelEventList;
    }

    public void setFunnelEventList(List<EventInfo> funnelEventList) {
        this.funnelEventList = funnelEventList;
    }

    public String getQueryDate() {
        return queryDate;
    }

    public void setQueryDate(String queryDate) {
        this.queryDate = queryDate;
    }

    public String getQueryNum() {
        return queryNum;
    }

    public void setQueryNum(String queryNum) {
        this.queryNum = queryNum;
    }

    public JSONObject getJsonParam() {
        return jsonParam;
    }

    public void setJsonParam(JSONObject jsonParam) {
        this.jsonParam = jsonParam;
    }

    public List<String> getApplicationCodeList() {
        return applicationCodeList;
    }

    public void setApplicationCodeList(List<String> applicationCodeList) {
        this.applicationCodeList = applicationCodeList;
    }
}

